package com.changgou;

import com.changgou.utils.IdWorker;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.context.annotation.Bean;
import tk.mybatis.spring.annotation.MapperScan;

@SpringBootApplication
@EnableEurekaClient
@MapperScan(basePackages = {"com.changgou.goods.dao"})
public class GoodsApplication {


    // ID 生成器的 主机ID
    @Value("${workerId}")
    private Long workerId;
    // ID生成器的 数据中心ID
    @Value("${datacenterId}")
    private Long datacenterId;


    public static void main(String[] args) {
        SpringApplication.run( GoodsApplication.class);
    }

    /**
     * 分布式 ID生成器 Spring注入类
     * 参数 不要写死,所以写在了配置文件中,然后使用Value 进行导入 并注入
     * workerId  :  主机ID
     * datacenterId : 数据中心ID
     * @return
     */
    @Bean
    public IdWorker idWorker(){
        return new IdWorker(workerId,datacenterId);
    }


}
